package fiuba.algo3.modelo.factorVial;

import fiuba.algo3.modelo.vehiculo.TipoDeVehiculo;
import fiuba.algo3.modelo.vehiculo.Vehiculo;

public class Pozo implements Obstaculo {

	@Override
	public boolean puedePasarUn(Vehiculo unVehiculo) {
		
		return puedePasarUn(unVehiculo.getTipo());
	}


	@Override
	public void afectarA(Vehiculo vehiculo) {
		
		int penalizacion = afectarA(vehiculo.getTipo());
		
		vehiculo.incrementarMovimientos(penalizacion);
	}

	private boolean puedePasarUn(TipoDeVehiculo unTipo) {
		
		return unTipo.VerificarSiPasa(this);
		
	}

	private int afectarA(TipoDeVehiculo unTipo) {
		
		return unTipo.comoLoAfectar(this);
	}

}
